home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 145 / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z / Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin / tools / sharp / sxwork3.lzh / 福袋 / 注釈付ヘッダ / TEXT.H < prev    next >
Text File  |  1994-02-20  |  9KB  |  290 lines

  1. /*
  2.  * text.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
  3.  */
  4. #ifndef __TEXT_H
  5. #define __TEXT_H
  6.  
  7. #ifndef __SXDEF2_H
  8. #include <sxdef2.h>
  9. #endif
  10.  
  11. #ifdef FORWORD
  12. #define __PROTO_TYPE
  13. #endif
  14. #ifdef __STDC__
  15. #define __PROTO_TYPE
  16. #endif
  17.  
  18. typedef enum JustMode    JustMode;    /* 行揃えモード            */
  19. typedef enum TProc    TProc;        /* テキストエディットプロセステーブル */
  20.  
  21. typedef struct TEHis    TEHis;        /* 編集履歴レコード        */
  22. typedef struct TEColumn    TEColumn;    /* 段落情報レコード        */
  23. /*
  24.  *    テキストマン (Text Man)
  25.  */
  26. #define T_LENMAX    0x7fffffff    /* テキストエディットが扱える
  27.                        テキストの最大バイト数    */
  28. #define T_LHEIGHT    12        /* 最小改行幅            */
  29.  
  30. enum JustMode {                /* 行揃えモード            */
  31.     T_RIGHT        = -1,        /* 右寄せ            */
  32.     T_LEFT,                /* 中央寄せ            */
  33.     T_CENTER            /* 左寄せ            */
  34. };
  35.  
  36. /* 編集モード */
  37. #define T_SHOWCR    1        /* 改行コードの表示        */
  38. #define T_SHOWEOF    (1 << 1)    /* テキスト終端の表示        */
  39. #define T_SHOWCTRL    (1 << 2)    /* コントロールコードの表示形式    */
  40. #define T_EDITCTRL    (1 << 3)    /* コントロールコードの編集許可    */
  41. #define T_RDONLY    (1 << 4)    /* リードオンリー属性        */
  42. #define T_UNDER        (1 << 5)    /* 下揃え            */
  43.  
  44. enum TProc {                /* テキストエディットプロセステーブル */
  45.     T_LENGTH,            /* 指定した幅に収まる文字列の長さを
  46.                        求める            */
  47.     T_WIDTH,            /* 文字列の幅を求める        */
  48.     T_DRAW,                /* 文字列の描画            */
  49.     T_UPDT,                /* 指定した範囲の描画
  50.                        (バックを塗りつぶす)    */
  51.     T_UPDT2,            /* 編集履歴による再描画        */
  52.     T_UPDT3,            /* 指定した範囲の描画        */
  53.     T_REV,                /* セレクト範囲のハイライト表示    */
  54.     T_SCROLL,            /* テキストエディットのスクロール処理 */
  55.     T_SCROLLR,            /* 指定した範囲のスクロール処理    */
  56.     T_FILLR,            /* 指定した範囲の塗りつぶし    */
  57.     T_CLIP,                /* マウスによるセレクト処理    */
  58.     T_CARET,            /* カーソルの描画        */
  59.     T_DREOF,            /* テキスト終端の描画        */
  60.     T_STR,                /* 文字列の挿入            */
  61.     T_SEL,                /* セレクト範囲の変更        */
  62.     T_FILLRL    /* 15 */    /* 1行単位の塗りつぶし        */
  63. };
  64.  
  65. enum TMErrorCode {            /* テキストマンのエラーコード    */
  66.     ER_EDITABORT    = -0x2800,    /* 致命的なエラーでテキストを廃棄した */
  67.     ER_LINEOVER,            /* レクタングルに文字が収まらない */
  68.     ER_LENOVER,            /* 最大入力数をオーバーした    */
  69.     ER_PROHIBITEDIT,        /* 編集禁止モード        */
  70.     ER_EDITERR            /* 不正な文字列を入力した    */
  71. };
  72.  
  73. struct TEdit {                /* テキストエディットレコード    */
  74.     Rect dest;            /* ディスティネーションレクタングル */
  75.     Rect view;            /* ビューレクタングル */
  76.     long offsetH;            /* ディスティネーションオフセット
  77.                        (横方向)            */
  78.     long offsetV;            /* ディスティネーションオフセット
  79.                        (縦方向)            */
  80.     char **text;            /* テキストへのハンドル        */
  81.     long lenMax;            /* テキストの最大バイト数    */
  82.     long length;            /* 入力済みテキストのバイト数    */
  83.     long rsv0;            /* システム予約            */
  84.     long selStart;            /* セレクト開始位置        */
  85.     long selEnd;            /* セレクト終了位置        */
  86.     long selLine;            /* 現在のセレクト行位置        */
  87.     long selOffset;            /* 現在のバッファのセレクト位置    */
  88.     long refCon;            /* ユーザー用ワークエリア    */
  89.     short lineHeight;        /* 改行幅            */
  90.     short tabSize;            /* TABサイズ            */
  91.     short justMode;            /* 行揃えモード            */
  92.     char editMode;            /* 編集モード            */
  93.     char drawLvl;            /* ドローレベル            */
  94.     long locateH;            /* カーソル位置の水平座標
  95.                        (ロングワード)        */
  96.     long locateV;            /* カーソル位置の垂直座標
  97.                        (ロングワード)        */
  98.     Graph *inPort;            /* グラフポインタ        */
  99.     long caretTime;            /* 内部で使用            */
  100.     short caretState;        /* 内部で使用            */
  101.     long (**procs)();        /* プロセスポインタ        */
  102.     short *funcCode;        /* ファンクションキーアサイン
  103.                        テーブルへのポインタ        */
  104.     short *ctrlCode;        /* コントロールキーテーブルへの
  105.                        ポインタ            */
  106.     void (**cProcs)();        /* コントロールキー処理ルーチン
  107.                        テーブルへのポインタ        */
  108.     long nColumns;            /* テキストの段落数        */
  109.     long nLines;            /* テキストの行数        */
  110.     long **lineStarts;        /* 内部で使用            */
  111. };
  112.  
  113. struct TEHis {                /* 編集履歴レコード        */
  114.     short on;            /* 編集処理フラグ        */
  115.     long nLine;            /* 編集行数            */
  116.     long start;            /* 編集開始バイト位置        */
  117.     long line;            /* 編集開始行位置        */
  118.     long locateH;            /* 編集開始水平座標        */
  119.     long locateV;            /* 編集開始垂直座標        */
  120.     long locateM;            /* 編集開始座標修正値        */
  121.     long coLine;            /* 次の段落の先頭行位置        */
  122.     BOOLEAN coDiff;            /* 次の段落のスクロール処理フラグ */
  123. };
  124.  
  125. struct TEColumn {            /* 段落情報レコード        */
  126.     long pos;            /* 段落位置            */
  127.     long nLine;            /* 段落の行数            */
  128.     long line;            /* 段落の先頭行位置        */
  129.     long offset;            /* 段落の先頭行のオフセット    */
  130.     long size;            /* 段落のバイト数        */
  131.     char *ptr;            /* 段落へのポインタ        */
  132.     long lPos;            /* 行位置            */
  133.     long lOffset;            /* 行の先頭位置オフセット    */
  134.     long lSize;            /* 行のバイト数            */
  135.     char *lPtr;            /* 行へのポインタ        */
  136. };
  137.  
  138. #ifdef __PROTO_TYPE
  139.  
  140. int TMInit(void);
  141. int TMSetRect(TEdit **, Rect *, Rect *);
  142. long TMChangeText(TEdit **, const char *, long);
  143. int TMIdle(TEdit **);
  144. int TMCaret(TEdit **, int);
  145. int TMDispose(TEdit **);
  146. int TMUpDate(TEdit **, Rect *);
  147. int TMSetText(TEdit **, const char *, long);
  148. long TMGetText(TEdit **, char *, long);
  149. int TMSetSelect(TEdit **, long, long, long);
  150. int TMKey(TEdit **, int);
  151. int TMStr(TEdit **, const char *, long);
  152. int TMCalText(TEdit **);
  153. int TMPinScroll(TEdit **);
  154. int TMClick(TEdit **, LPoint, int);
  155. int TMEvent(TEdit **, TsEvent *);
  156. int TMCut(TEdit **);
  157. int TMCopy(TEdit **);
  158. int TMPaste(TEdit **);
  159. int TMDelete(TEdit **);
  160. int TMInsert(TEdit **, const char *, long);
  161. int TMFromScrap(void);
  162. int TMToScrap(void);
  163. int TMScrapHandle(Handle *);
  164. long TMGetScrapLen(void);
  165. int TMTextBox2(const char *, long, Rect *, int, int);
  166. int TMCacheON(TEdit **, long);
  167. int TMCacheOFF(TEdit **);
  168. int TMCacheFlush(TEdit **);
  169. int TMShow(TEdit **);
  170. int TMHide(TEdit **);
  171. int TMSelShow(TEdit **);
  172. int TMSelHide(TEdit **);
  173. long TMSearchStrF(TEdit **, const char *, long, long, long, int (*)(TEdit **), long *);
  174. long TMSearchStrB(TEdit **, const char *, long, long, long, int (*)(TEdit **), long *);
  175. int TMTextInWidth2(TEdit **, const char *, long, int, int, BOOLEAN *);
  176. int TMTextWidth2(TEdit **, const char *, long, int, int);
  177. int TMDrawText2(TEdit **, const char *, long, int, int, BOOLEAN);
  178. int TMUpDate2(TEdit **, TEHis *);
  179. int TMUpDate3(TEdit **, Rect *);
  180. int TMCalCOLine(TEdit **, TEColumn *, long);
  181. int TMCalLine(TEdit **, TEColumn *, long, BOOLEAN);
  182. long TMLeftSel(TEdit **);
  183. long TMRightSel(TEdit **);
  184. int TMPointSel(TEdit **, long, long, int);
  185. int TMOffsetSel(TEdit **, long, int);
  186. long TMPointToLine(TEdit **, long, long, TEColumn *);
  187. int TMCalSelPoint(TEdit **);
  188. int TMSetView(TEdit **, Rect *);
  189. int TMScroll(TEdit **, long, long);
  190. int TMPointScroll(TEdit **, long, long);
  191. int TMStr2(TEdit **, const char *, long, TEHis *);
  192. int TMKeyToAsk(TEdit **, TsEvent *);
  193. long TMNextCode(TEdit **, int, BOOLEAN);
  194. int TMSetTextH(TEdit **, char **, long);
  195. int TMOpen(const char *, long, Rect *, int, int, TEdit ***);
  196. int TMNew2(Rect *, Rect *, Graph *, TEdit ***);
  197. long TMNextCodeIn(TEdit **, int);
  198. int TMSelReverse(TEdit **, long, long);
  199. int TMTini(void);
  200. int TMSetSelCal(TEdit **, long, long, long);
  201. int TMActivate2(TEdit **);
  202. int TMDeactivate2(TEdit **);
  203. int TMCheckSel(TEdit **, long, long, long);
  204. void TMCalPoint2(TEdit **, long, long *);
  205. int TMISZen(TEdit **, long);
  206. int TMSetDestOffset(TEdit **, long, long);
  207. void TMGetDestOffset(TEdit **, long *);
  208. int TMGetSelect(TEdit **, long *);
  209. int TMEventW(TEdit **, TsEvent *);
  210. int TMUpDateExist(TEdit **, BOOLEAN);
  211.  
  212. #undef __PROTO_TYPE
  213. #else
  214.  
  215. int TMInit();
  216. int TMSetRect();
  217. long TMChengText();
  218. int TMIdle();
  219. int TMCaret();
  220. int TMDispose();
  221. int TMUpDate();
  222. int TMSetText();
  223. long TMGetText();
  224. int TMSetSelect();
  225. int TMKey();
  226. int TMStr();
  227. int TMCalText();
  228. int TMPinScroll();
  229. int TMClick();
  230. int TMEvent();
  231. int TMCut();
  232. int TMCopy();
  233. int TMPaste();
  234. int TMDelete();
  235. int TMInsert();
  236. int TMFromScrap();
  237. int TMToScrap();
  238. int TMScrapHandle();
  239. long TMGetScrapLen();
  240. int TMTextBox2();
  241. int TMCacheON();
  242. int TMCacheOFF();
  243. int TMCacheFlush();
  244. int TMShow();
  245. int TMHide();
  246. int TMSelShow();
  247. int TMSelHide();
  248. long TMSearchStrF();
  249. long TMSearchStrB();
  250. int TMTextInWidth2();
  251. int TMTextWidth2();
  252. int TMDrawText2();
  253. int TMUpDate2();
  254. int TMUpDate3();
  255. int TMCalCOLine();
  256. int TMCalLine();
  257. long TMLeftSel();
  258. long TMRightSel();
  259. int TMPointSel();
  260. int TMOffsetSel();
  261. long TMPointToLine();
  262. int TMCalSelPoint();
  263. int TMSetView();
  264. int TMScroll();
  265. int TMPointScroll();
  266. int TMStr2();
  267. int TMKeyToAsk();
  268. long TMNextCode();
  269. int TMSetTextH();
  270. int TMOpen();
  271. int TMNew2();
  272. long TMNextCodeIn();
  273. int TMSelReverse();
  274. int TMTini();
  275. int TMSetSelCal();
  276. int TMActivate2();
  277. int TMDeactivate2();
  278. int TMCheckSel();
  279. void TMCalPoint2();
  280. int TMISZen();
  281. int TMSetDestOffset();
  282. void TMGetDestOffset();
  283. int TMGetSelect();
  284. int TMEventW();
  285. int TMUpDateExist();
  286.  
  287. #endif __PROTO_TYPE
  288.  
  289. #endif __TEXT_H
  290.